import { buildMenus } from '@/api/system/menu' // 引入获取路由的API
const state = {
  // 初始化菜单列表（空数组，避免undefined）
  menuList: []
}

const mutations = {
  // 更新菜单列表的mutation
  SET_MENU_LIST: (state, menuList) => {
    state.menuList = menuList
  }
}

const actions = {
  // 获取菜单数据（核心方法）
  getMenuList({ commit, rootState }) {
    return new Promise((resolve) => {
      buildMenus().then(res => {
        console.log(res, '路由地址')
        const mockMenuData = res
        setTimeout(() => {
          // 将菜单数据存入state
          commit('SET_MENU_LIST', mockMenuData)
          resolve(mockMenuData)
        }, 500)
      })
    })
  },

  // 如果有其他需要使用state的方法，使用参数中的state
  someAction({ state, commit }) {
    // 正确用法：使用参数中的state，而不是全局state
    console.log('当前菜单列表:', state.menuList)
    // 其他逻辑...
  }
}

export default {
  namespaced: true, // 必须开启命名空间
  state,
  mutations,
  actions
}
